///*
// * Copyright (c) 2003-2009 jMonkeyEngine
// * All rights reserved.
// *
// * Redistribution and use in source and binary forms, with or without
// * modification, are permitted provided that the following conditions are
// * met:
// *
// * * Redistributions of source code must retain the above copyright
// *   notice, this list of conditions and the following disclaimer.
// *
// * * Redistributions in binary form must reproduce the above copyright
// *   notice, this list of conditions and the following disclaimer in the
// *   documentation and/or other materials provided with the distribution.
// *
// * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
// *   may be used to endorse or promote products derived from this software
// *   without specific prior written permission.
// *
// * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
// * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// */
//
//package org.octgame.utilities.noise;
//
//import javax.swing.ImageIcon;
//
//import com.jme.app.SimpleGame;
//import com.jme.bounding.BoundingBox;
//import com.jme.image.Texture;
//import com.jme.light.PointLight;
//import com.jme.math.Vector3f;
//import com.jme.renderer.Renderer;
//import com.jme.scene.state.CullState;
//import com.jme.scene.state.FogState;
//import com.jme.scene.state.TextureState;
//import com.jme.util.TextureManager;
//import com.jme.util.geom.Debugger;
//import com.jmex.terrain.TerrainBlock;
//import com.jmex.terrain.util.MidPointHeightMap;
//import com.jmex.terrain.util.ProceduralTextureGenerator;
//
///**
// * <code>TestTerrain</code>
// *
// * @author Mark Powell
// * @version $Id: TestTerrain.java 4130 2009-03-19 20:04:51Z blaine.dev $
// */
//public class TestTerrain extends SimpleGame {
//
//  /**
//   * Entry point for the test,
//   *
//   * @param args
//   */
//  public static void main(String[] args) {
//    TestTerrain app = new TestTerrain();
//    app.setConfigShowMode(ConfigShowMode.AlwaysShow);
//    app.start();
//  }
//private TerrainBlock tb;
//  /**
//   * builds the trimesh.
//   *
//   * @see com.jme.app.SimpleGame#initGame()
//   */
//  protected void simpleInitGame() {
//    display.setTitle("Terrain Test");
//    cam.setLocation(new Vector3f(64*5, 250, 64*5));
//    cam.update();
//
//    FogState fs = display.getRenderer().createFogState();
//    fs.setEnabled(false);
//    rootNode.setRenderState(fs);
//
//    CullState cs = display.getRenderer().createCullState();
//    cs.setCullFace(CullState.Face.Back);
//    cs.setEnabled(true);
//
//    lightState.setTwoSidedLighting(true);
//    Debugger.AUTO_NORMAL_RATIO = .02f;
//
//    ((PointLight)lightState.get(0)).setLocation(new Vector3f(300,300,50));
//    long f = 95654656;
//    Noise n = new Noise(f,1024);
//    n.reseed_Noise(495);
//    Vector3f terrainScale = new Vector3f(1,.44f,1);
//    tb = new TerrainBlock("Terrain", 512, terrainScale,
//                                       n.height_data(1024),
//                                       new Vector3f(0, 0, 0));
//    tb.setDetailTexture(6, 16);
//    tb.setModelBound(new BoundingBox());
//    tb.updateModelBound();
//    tb.setLocalTranslation(new Vector3f(0,0,0));
//    rootNode.attachChild(tb);
//    rootNode.setRenderState(cs);
//
//    TextureState ts = display.getRenderer().createTextureState();
//    ts.setEnabled(true);
//
//    rootNode.setRenderQueueMode(Renderer.QUEUE_OPAQUE);
//
//  }
//}
